The present invention relates to synchronization of objects between object stores on two different computing devices. More particularly, the present invention relates to scheduling of synchronization operations on mobile devices.
Mobile devices include a broad range of computing and communication devices that are small enough to be conveniently carried by a user. Examples of such devices include mobile phones, personal digital assistants, tablet PCs, and lap-top PCs.
Generally, the mobile device includes a processor, random access memory (RAM), and an input device such as a keyboard, touchpad or input buttons and a display. The keyboard can be integrated with the display, such as when the keyboard is incorporated as a touch sensitive display. A communication interface is optionally provided and is commonly used to communicate with other computers. A replaceable or rechargeable battery powers the mobile device. Optionally, the mobile device can receive power from an external power source that overrides or recharges the built-in battery.
While a wide variety of computing tasks and applications can be performed by such mobile devices, personal information managers (PIMs) are particularly well suited to mobile devices. PIMs typically comprise applications which enable the user of the mobile device to better manage scheduling and communications, and other such tasks. Some commonly available PIMs include scheduling and calendar programs, task lists, address books, and electronic mail (e-mail) programs. Some commonly commercially available PIMs are sold under the trademarks “MICROSOFT SCHEDULE+” and “MICROSOFT OUTLOOK” and are commercially available from Microsoft Corporation of Redmond, Wash. In addition to PIMs, however, such mobile devices may also run different types of applications, such as word processors, spread sheets, etc.
To provide users with as much freedom as possible, it is desirable to allow the user to access and change their application and PIM information from any device they choose. Thus, the user should be able to access their e-mail from a network terminal, a PDA, and a tablet PC, for example.
However, allowing the user to access and change their information from any desired source means that the devices must be able to communicate with each other to indicate changes to the information. The process of two devices sharing changes in the application and/or PIM information is known as synchronization.
In general, synchronization is not a continuous process. In other words, a mobile device does not continually try to synchronize its data because that would waste limited wireless bandwidth and place an undue drain on the mobile device's battery. Instead, synchronization is performed periodically. In addition, since the mobile device is not always in use, it is wasteful to have a server or desktop computer periodically attempt to establish a connection with the mobile device to perform synchronization. Instead, the mobile device is responsible for establishing a connection to perform synchronization.
When scheduling synchronization operations through a wireless connection, such as a cellular connection, a number of concerns present themselves. First, it can be desirable to have data be as up-to-date as possible. This requires synchronization (sync) to be performed frequently. However, the synchronization process does require a relatively high amount of power and can thus affect the remaining battery life of the mobile device. Similarly, cellular connection charges often apply. Since frequent sync operations require frequent cellular connection to a synchronization server, the costs associated with these connections can become relatively large. Also, cellular connection costs can increase rather significantly, when connection is made to a roaming mobile device. Thus, frequent sync operations, requiring frequent connections during roaming, can also undesirably increase the cost of synchronization.